/****************************************************************************
 * Elisa 1.0                                                                *
 *--------------------------------------------------------------------------*
 * Author: Laurent Granvilliers, Vincent Sorin                              *
 * Copyright (c) 2004 Laboratoire d'Informatique de Nantes Atlantique       *
 *--------------------------------------------------------------------------*
 * Elisa is distributed WITHOUT ANY WARRANTY. Read the associated           *
 * COPYRIGHT file for more details.                                         *
 *--------------------------------------------------------------------------*
 * elisa_defs.h                                                             *
 ****************************************************************************/

#ifndef _elisa_defs_h_
#define _elisa_defs_h_ 1

#include <string>
#include "elisa_configuration.h"

/**
 * Defines the namespace of the application
 */
#define NAMESPACE_ELISA       namespace elisa {

/**
 * Using statement for the namespace
 */
#define USING_ELISA           using namespace elisa;

/**
 * Closes the namespace
 */
#define END_NAMESPACE_ELISA   };

/**
 * Used for debugging
 */
//#define ELISA_DEBUG(s) std::cout << s << std::endl;


/// struct used for string comparison
struct ltstr {
	bool operator()(const std::string s1, const std::string s2) const
	{
		return(s1.compare(s2) < 0);
	}
};

struct ltlong {
	bool operator()(const long i1, const long i2) const
	{
		return(i1 < i2);
	}
};

struct ltint {
	bool operator()(const int i1, const int i2) const
	{
		return(i1 < i2);
	}
};

#endif
